Copy - Paste Redeemed 1

نویسندگان

  • Jens Knoop
  • Uwe Zdun
  • Krishna Narasimhan
  • Christoph Reichenbach
چکیده

Software evolves continuously. As software evolves, it’s code bases require implementations of new features. These new functionalities are sometimes mere extensions of existing functionalities with minor changes. A commonly used method of extending an existing feature into a similar new feature is to copy the existing feature and modify it. This method of extending feature is called “Copy-paste-modify”. Another method of achieving the same goal of extending existing feature into similar feature is abstracting the multiple similar features into one common feature with appropriate selectors that enable choosing between the features. The advantages of the “Copy-paste-modify” technique range from speed of development to reduced possibility of breaking existing feature. The advantages of abstraction vary from user preference to have abstracted code to long term maintenance benefits. In our paper, we describe an informal poll and discuss related work to confirm our beliefs about the advantages of each method of extending features. We observe a potential compromise while developers extend features which are near-clones of existing features. We propose to address this dilemma by coming up with a novel approach that can semi-automatically abstract nearclone features and evaluate our approach by building a prototype in C++ and abstracting near-clone methods in popular open source repositories.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Copy and paste redeemed

Software development relies critically on code reuse, which software engineers typically realise through handwritten abstractions, such as functions, methods, or classes. However, such abstractions can be challenging to develop and maintain. One alternative form of re-use is copy-paste-modify, a methodology in which developers explicitly duplicate source code to adapt the duplicate for a new pu...

متن کامل

Safe Practices for Copy and Paste in the EHR. Systematic Review, Recommendations, and Novel Model for Health IT Collaboration.

BACKGROUND Copy and paste functionality can support efficiency during clinical documentation, but may promote inaccurate documentation with risks for patient safety. The Partnership for Health IT Patient Safety was formed to gather data, conduct analysis, educate, and disseminate safe practices for safer care using health information technology (IT). OBJECTIVE To characterize copy and paste e...

متن کامل

Copy-paste Trees and Their Growth Rates

In this paper, we describe a copy-and-paste method for constructing a class of infinite self-similar trees. A copy-paste tree is constructed by repeatedly attaching copies of a finite tree (called a generator) to certain designated attachment vertices. We show that each generator has an associated nonnegative matrix which can be used to determine a formula for the growth function of the copy-pa...

متن کامل

CP-Miner: A Tool for Finding Copy-paste and Related Bugs in Operating System Code

Copy-pasted code is very common in large software because programmers prefer reusing code via copy-paste in order to reduce programming effort. Recent studies show that copy-paste is prone to introducing bugs and a significant portion of operating system bugs concentrate in copy-pasted code. Unfortunately, it is challenging to efficiently identify copy-pasted code in large software. Existing co...

متن کامل

AutoComPaste: Auto-Completing Text as an Alternative to Copy-Paste

The copy-paste command is a fundamental and widely used operation in daily computing. It is generally regarded as a simple task but the process can become tedious when frequent window switching is required to copy-paste across different documents. Autocompletion is another popular operation aimed at reducing users’ typing effort. It contrasts to copy-paste by allowing for text completion withou...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2016